package com.liangtian.mdm.system.ugroup.service;

import com.liangtian.mdm.base.exception.TransactionalException;
import com.liangtian.mdm.system.ugroup.model.SysUgroup;
import com.github.pagehelper.PageInfo;

import java.util.Map;

/**
 * <p>Encoding    :  UTF-8</p>
 * <p>Package Name: com.liangtian.mdm.system.ugroup.service</p>
 * <p>Project Name: chccig-dm </p>
 * <p>Copyright   :  Copyright(c) 2016 石化盈科信息技术有限责任公司 </p>
 * <p>Created Time: 2016-08-30</p>
 * <p>Description : 接口</p>
 *
 * @author : Administrator
 * @version :  1.0
 */
public interface SysUgroupService {

    /**
     * @param Map
     * @return 分页条件下的
     * @desc 获取全部用户组信息(包含查询)
     * @params参数详情 pageNum 总页数
     * @params参数详情 length 每页显示条数
     * @params参数详情 start 起始条数
     * @params参数详情 draw 请求次数
     */
    PageInfo queryUgroupList(Map<String, Object> param);

    PageInfo queryAllUgroupList(Map<String, Object> param);


    /**
     * @param Map
     * @return 分页条件下的
     * @desc 获取用户组用户信息
     * @params参数详情 pageNum 总页数
     * @params参数详情 length 每页显示条数
     * @params参数详情 start 起始条数
     * @params参数详情 draw 请求次数
     */
    PageInfo selectUserList(Map<String, Object> param);

    /**
     * @param Map
     * @des 新增用户组
     */
    boolean insertUgroup(Map<String, Object> param);


    /**
     * @param Map
     * @des 新增用户组用户
     */
    boolean insertUgroupUser(Map<String, Object> param);

    /**
     * @param sysUgroup 对象
     * @return
     * @desc 编辑 用户组
     */
    boolean updateUgroup(SysUgroup sysUgroup) throws TransactionalException;

    /**
     * @param params
     * @desc 批量删除用户组信息
     * @params参数详情 idsList 用户组id
     */
    boolean batchDeleteUgroup(Map<String, Object> params) throws TransactionalException;


    /**
     * @param params
     * @desc 批量删除用户组用户信息
     * @params参数详情 idsList 用户组id
     */
    boolean deleteUgroupUserBatch(Map<String, Object> params) throws TransactionalException;

    /**
     * @param groupid
     * @desc 根据ID查询用户组
     */
    SysUgroup queryOne(String groupid);
}
